package oj;

/**
 * @author 郝文雪
 * @date 2022/8/23 20:02
 * @Description Test
 */
public class LC621 {
    public int leastInterval(char[] tasks, int n) {
        if(tasks==null || tasks.length==0) return 0;
        int[] arr=new int[26];
        //记录每个元素出现的次数
        for(int i=0;i<tasks.length;i++){
            arr[tasks[i]-'A']++;
        }
        int N=0;
        int count=0;
        //记录最大任务数量N和最大任务数量的个数count
        for(int i=0;i<arr.length;i++){
            if(arr[i]>N){
                N=arr[i];
                count=1;
            }else if(N==arr[i]){
                count++;
            }
        }
        return Math.max(tasks.length,(N-1)*(n+1)+count);
    }
}
